---
title: clsScheduleManager
summary: API reference for clsScheduleManager.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Application.Claim.Legal
reference_type: embedded
---

# clsScheduleManager

`clsScheduleManager` maintains the hearing schedule for a legal case: inserting and deleting schedule rows (deletion allowed only while the row is Cancelled — [Business rules](../../business-rules.md)), driving assignment-driven file-location and status transitions, printing/emailing Defense Evaluation Form (DEF) letters, and synchronizing hearing schedule data to Guidewire as a matter and, for hearing/mediation types, as a claim activity. It reads the current user's default printer at construction time for DEF-letter printing. It inherits `LegalManagerBase` (this library) → `ClaimAppManager` (`SAIF.Application.Claim`).

## Purpose
- Insert and delete hearing schedule rows for the current legal case, restricting deletion to Cancelled-status rows ([Business rules](../../business-rules.md)).
- Drive file-location and case-status transitions triggered by assignment/schedule changes.
- Print and email Defense Evaluation Form (DEF) letters, marking the case as DEF-sent and, outside Production, redirecting the reminder email to the current user ([Business rules](../../business-rules.md)).
- Synchronize hearing schedule data to Guidewire as a "matter" (and, for `HEAR`/`MED` schedule types, as a claim activity), gated on an attorney being assigned and tolerant of integration failures ([Business rules](../../business-rules.md)).

## Context
- Namespace: `SAIF.Application.Claim.Legal`
- Assembly/package: `SAIF.Application.Claim.Legal.dll` (embedded library, referenced by the `Legal` web front end)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `New(inDatabase, inSecurityPrincipal)` | `Public Sub New(inDatabase As String, inSecurityPrincipal As clsSecurityPrincipal)` | Constructs the manager for the given database context and authenticated principal, calling into `LegalManagerBase.New` and capturing the principal's default printer for DEF-letter printing. |
| `ScheduleCol` | `Public ReadOnly Property ScheduleCol As clsLegalScheduleCollection`* | Exposes the hearing schedule collection for the current legal case. |
| `DeleteSchedule()` | `Public Sub DeleteSchedule()` | Deletes the selected schedule row, blocking the operation with `"Error: Cancel the event and save, before deleting a schedule row"` unless the row is in Cancelled status ([Business rules](../../business-rules.md)). |
| `PrintDEF()` | `Public Sub PrintDEF()` | Computes the next Friday hold date, calls `LegalManagerBase.insertLetterRequest` with letter type `"DEFLT"`, sets `CurrentCase.DefSentDate = Today` and `SendDefFlag = clsConstants.Yes`, and propagates the DEF-sent flag to consolidated cases when invoked from a popup context ([Business rules](../../business-rules.md)). |
| `SendDEFEmail()` | `Public Sub SendDEFEmail()` | Looks up the assigned attorney's manager email via `pk80001_LEGALNET.get_atty_mngr_email`, redirects the email to the current user outside Production with a body annotation naming the real recipient, resets `SendDefFlag`, propagates to consolidated cases, and sends mail via `Mail.SendMail` ([Business rules](../../business-rules.md)). |
| `SendDataToGw()` | `Public Sub SendDataToGw()` | Builds a `GwMatterRequest` from the current schedule and calls the Guidewire `GwMatterApi` client, skipping the call when no attorney is assigned, retrying a failed create as an update, and logging (not throwing) on failure ([Business rules](../../business-rules.md)). |
| `CreateScheduleActivity()` | `Public Sub CreateScheduleActivity()`* | Pushes a Guidewire claim activity (hearing/mediation reserve reminder, due in 30 days) for `HEAR`/`MED` schedule types after a successful matter sync. |

## Behavioral notes
- `PrintDEF()` and `SendDEFEmail()` together implement the DEF workflow: printing marks the case DEF-sent, while the subsequent email reminder resets the pending-send flag once dispatched ([Business rules](../../business-rules.md)).
- `SendDataToGw()` follows the same best-effort Guidewire integration pattern used elsewhere in this library — failures are logged via `Logging.clsLogError.CreateError` and never surfaced to the caller ([Business rules](../../business-rules.md)).

## Constraints and usage notes
- `DeleteSchedule()` requires the row to be Cancelled first; there is no direct-delete path for an active schedule row ([Business rules](../../business-rules.md)).

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `SAIF.Application.Claim.Legal\LegalNet\clsScheduleManager.vb`
